package Demo;

public class demo03 {

	public static void main(String[] args) {
		 /**
	     * instanceof运算符：
	     *      第一：instanceof可以在运行阶段动态判断引用指向的对象的类型
	     *      第二：instanceof的语法：
	     *          （引用 instanceof 类名）
	     *      第三：instanceof运算符的运算结果只能是：true/false
	     *      第四：c是一个引用，c变量保存了内存地址指向了堆中的对象。
	     *          假设（c instanceof Cat）为true表示：
	     *              为true表示 c引用指向的堆内存中的java对象是一个Cat类型。
	     *          假设（c instanceof Cat）为falsee表示：
	     *              为true表示 c引用指向的堆内存中的java对象不是一个Cat类型。
	     *
	     *       举例：
	     *          if(a instanceof Cat){
	     *              Cat x = (Cat)a;
	     *              x.(Cat类中独有的方法)
	     *          }
	     *
	     *          做向下转型时，用instanceof运算符判断。为true时 向下转型，避免出现ClassCastException异常
	     */

	}

}
